<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>水平对齐</title>
    <style type="text/css">
        .container {
            border: 1px solid #ccc;
            margin: 10px;
            padding: 10px;
        }
        .item {
            background-color: #ccc;
        }

        .container-1 {
            text-align: center;
        }

        .container-2 .item {
            width: 500px;
            margin: auto;
        }

        .container-3 {
            position: relative;
            height: 100px;
        }
        .container-3 .item {
            width: 300px;
            height: 100px;
            position: absolute;
            left: 50%;
            margin-left: -150px;
            /* 如果不知道宽度, 可以使用transform */
            /* transform: translate(-50%, 0); */
        }
    </style>
</head>
<body>
    <div class="container container-1">
        <span>一段文字</span>
    </div>

    <div class="container container-2">
        <div class="item">
            this is block item
        </div>
    </div>

    <div class="container container-3">
        <div class="item">
            this is absolute item
        </div>
    </div>
    <!-- 
        TODO: 居中对齐有哪些实现方式?
            水平居中:
                inline元素 text-align: center
                block元素 margin: auto
                absolute元素 left: 50%; margin-left: 负(宽度/2)
                    如果不知道宽度, 可以使用transform
            垂直居中
                inline元素 line-height: height值
                absolute元素 top: 50%; margin-top: 负(高度/2)
                    如果不知道高度, 可以使用transform
                absolute元素 top,left,bottom,right = 0; margin: auto
                父元素 display: table, 子元素 display: table-cell; vertical-align: middle
                
            flex实现垂直居中
            伪元素实现垂直居中
    -->

</body>
</html>